FastAPI দ্রুত এবং সহজভাবে সেটআপ করা যায়। এটি Python-এর জন্য একটি lightweight এবং high-performance ফ্রেমওয়ার্ক, যা ইনস্টলেশন ও কনফিগারেশনের জন্য খুব কম সময় নেয়।
সিস্টেমের প্রয়োজনীয়তা
FastAPI ব্যবহার করতে হলে আপনার সিস্টেমে নিচের জিনিসগুলো থাকতে হবে:
- Python 3.7 বা তার পরবর্তী সংস্করণ।
- একটি Package Manager, যেমন pip।
FastAPI ইনস্টলেশন
১. Python ভার্চুয়াল এনভায়রনমেন্ট তৈরি করা
প্রজেক্টের জন্য আলাদা ভার্চুয়াল এনভায়রনমেন্ট তৈরি করা একটি ভালো অভ্যাস। এটি বিভিন্ন প্রজেক্টের ডিপেনডেন্সি আলাদা রাখতে সাহায্য করে।
python -m venv env
এবং ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় করুন:
Windows:
.\env\Scripts\activatemacOS/Linux:
source env/bin/activate
২. FastAPI এবং Uvicorn ইনস্টল করা
FastAPI চালাতে Uvicorn সার্ভার প্রয়োজন। ইনস্টল করতে নিচের কমান্ড ব্যবহার করুন:
pip install fastapi uvicorn
একটি FastAPI অ্যাপ তৈরি করা
FastAPI ইনস্টল করার পর একটি সাধারণ অ্যাপ তৈরি করতে নিচের ধাপগুলো অনুসরণ করুন।
১. প্রজেক্ট ফাইল তৈরি করা
প্রথমে একটি ফাইল তৈরি করুন, যেমন main.py।
২. FastAPI অ্যাপ কোড লিখুন
main.py ফাইলে নিচের কোড লিখুন:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Welcome to FastAPI"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
৩. অ্যাপ চালানো
Uvicorn ব্যবহার করে অ্যাপ চালানোর জন্য নিচের কমান্ডটি দিন:
uvicorn main:app --reload
main: আপনার ফাইলের নাম (main.py)।app: FastAPI অ্যাপের অবজেক্ট।--reload: ডেভেলপমেন্টে অটোমেটিক রিফ্রেশ করার জন্য।
FastAPI অ্যাপ অ্যাক্সেস করা
অ্যাপ চালু হলে কমান্ড লাইন থেকে আপনি দেখতে পাবেন:
Uvicorn running on http://127.0.0.1:8000
ব্রাউজারে গিয়ে এই URL-এ যান: **http://127.0.0.1:8000**। আপনি "Welcome to FastAPI" বার্তাটি দেখতে পাবেন।
স্বয়ংক্রিয় ডকুমেন্টেশন
FastAPI স্বয়ংক্রিয়ভাবে ডকুমেন্টেশন তৈরি করে। এগুলো অ্যাক্সেস করতে:
- Swagger UI:
http://127.0.0.1:8000/docs - ReDoc:
http://127.0.0.1:8000/redoc
গুরুত্বপূর্ণ টিপস
- ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় রাখুন:
বিভিন্ন প্রজেক্টের জন্য পৃথক এনভায়রনমেন্ট ব্যবহার করুন। Python ডিপেনডেন্সি ফাইল:
ইনস্টল করা প্যাকেজের তালিকা তৈরি করতেrequirements.txtব্যবহার করুন:pip freeze > requirements.txtডিপেনডেন্সি ইনস্টল করা:
অন্য মেশিনে একই প্রজেক্ট সেটআপ করতে:pip install -r requirements.txt
FastAPI সেটআপ করার প্রক্রিয়া খুবই সহজ এবং দ্রুত। এটি শুরু করার জন্য প্রাথমিক কোড এবং নির্দেশনা যথেষ্ট। অ্যাপ ডেভেলপমেন্টে দ্রুত অগ্রসর হতে এটি একটি চমৎকার ফ্রেমওয়ার্ক।
FastAPI ইনস্টল করা খুব সহজ এবং Python 3.7 বা এর পরবর্তী সংস্করণে এটি পুরোপুরি সাপোর্টেড। এটি ইনস্টল করার পর আপনি দ্রুত API ডেভেলপমেন্ট শুরু করতে পারবেন।
প্রাথমিক শর্তসমূহ
- Python 3.7 বা এর পরবর্তী সংস্করণ
আপনার সিস্টেমে Python ইনস্টল থাকতে হবে। Python-এর ইনস্টলেশন যাচাই করতে নিচের কমান্ডটি ব্যবহার করুন:
python --version
- Package Manager (pip)
Python-এর প্যাকেজ ম্যানেজারpipইনস্টল থাকতে হবে। যাচাই করতে:
pip --version
ইনস্টলেশন ধাপ
১. ভার্চুয়াল এনভায়রনমেন্ট তৈরি করা (ঐচ্ছিক কিন্তু সুপারিশকৃত)
প্রজেক্টের ডিপেনডেন্সি আলাদা রাখতে ভার্চুয়াল এনভায়রনমেন্ট ব্যবহার করুন। এটি তৈরি করতে:
python -m venv env
এবং সক্রিয় করুন:
Windows:
.\env\Scripts\activatemacOS/Linux:
source env/bin/activate
২. FastAPI এবং Uvicorn ইনস্টল করা
FastAPI চালানোর জন্য একটি ASGI সার্ভার প্রয়োজন। সাধারণত Uvicorn ব্যবহার করা হয়। ইনস্টল করতে:
pip install fastapi uvicorn
একটি FastAPI অ্যাপ তৈরি করা
উদাহরণ:
একটি সাধারণ FastAPI অ্যাপ তৈরি করতে নিচের ধাপগুলো অনুসরণ করুন:
ফাইল তৈরি করা:
একটি Python ফাইল তৈরি করুন, যেমন app.py।
কোড লিখুন:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello, FastAPI!"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "query": q}
অ্যাপ চালানো
Uvicorn ব্যবহার করে অ্যাপ চালাতে:
uvicorn app:app --reload
app:app:
প্রথমappহল ফাইলের নাম (উদাহরণেapp.py) এবং দ্বিতীয়appহল FastAPI অ্যাপের অবজেক্ট।--reload:
ডেভেলপমেন্টে পরিবর্তনের সময় স্বয়ংক্রিয়ভাবে সার্ভার রিলোড করার জন্য।
ব্রাউজারে অ্যাপ দেখুন
সার্ভার চালু হলে, আপনি কমান্ড লাইনে দেখতে পাবেন:
Uvicorn running on http://127.0.0.1:8000
ব্রাউজারে গিয়ে http://127.0.0.1:8000 URL-এ যান। আপনি JSON আকারে {"message": "Hello, FastAPI!"} দেখতে পাবেন।
FastAPI এর স্বয়ংক্রিয় ডকুমেন্টেশন
FastAPI স্বয়ংক্রিয়ভাবে API ডকুমেন্টেশন তৈরি করে। এগুলো দেখতে:
- Swagger UI:
http://127.0.0.1:8000/docs
এটি API টেস্টিং এবং ইন্টারঅ্যাক্টিভ ডকুমেন্টেশনের জন্য উপযুক্ত। - ReDoc:
http://127.0.0.1:8000/redoc
এটি API ডকুমেন্টেশনকে সুন্দরভাবে প্রদর্শন করে।
ডিপেনডেন্সি ফাইল তৈরি (ঐচ্ছিক)
ইনস্টল করা প্যাকেজগুলো সংরক্ষণ করতে requirements.txt তৈরি করুন:
pip freeze > requirements.txt
অন্য মেশিনে একই প্যাকেজ ইনস্টল করতে:
pip install -r requirements.txt
FastAPI ইনস্টল করা এবং একটি বেসিক API অ্যাপ তৈরি করা সহজ। এটি Python 3.7+ সংস্করণের জন্য উপযোগী এবং ডেভেলপমেন্টে দ্রুত অগ্রগতি নিশ্চিত করে।
Uvicorn হলো একটি lightning-fast ASGI (Asynchronous Server Gateway Interface) সার্ভার, যা Python-ভিত্তিক অ্যাসিঙ্ক্রোনাস ওয়েব অ্যাপ্লিকেশন চালানোর জন্য ব্যবহৃত হয়। FastAPI অ্যাপ চালানোর জন্য Uvicorn খুবই গুরুত্বপূর্ণ।
সিস্টেমের প্রয়োজনীয়তা
- Python 3.7 বা এর পরবর্তী সংস্করণ।
- প্যাকেজ ম্যানেজার
pip।
Uvicorn ইনস্টলেশন
Uvicorn ইনস্টল করতে pip ব্যবহার করুন:
pip install uvicorn
Uvicorn ইনস্টল হওয়ার পর এর সংস্করণ যাচাই করতে:
uvicorn --version
ভার্চুয়াল এনভায়রনমেন্টে ইনস্টল (ঐচ্ছিক কিন্তু সুপারিশকৃত)
প্রজেক্টের ডিপেনডেন্সি আলাদা রাখতে ভার্চুয়াল এনভায়রনমেন্ট তৈরি করুন:
python -m venv env
এবং সক্রিয় করুন:
Windows:
.\env\Scripts\activatemacOS/Linux:
source env/bin/activate
এরপর Uvicorn ইনস্টল করুন:
pip install uvicorn
একটি উদাহরণ FastAPI অ্যাপ চালানো
FastAPI অ্যাপ কোড
একটি ফাইল তৈরি করুন, যেমন app.py, এবং নিচের কোড লিখুন:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello, Uvicorn!"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "query": q}
Uvicorn ব্যবহার করে অ্যাপ চালানো
এখন Uvicorn ব্যবহার করে অ্যাপ চালান:
uvicorn app:app --reload
app:app:
প্রথমappহল ফাইলের নাম (app.py), এবং দ্বিতীয়appহল FastAPI অ্যাপের অবজেক্ট।--reload:
ডেভেলপমেন্টে পরিবর্তনের সময় স্বয়ংক্রিয়ভাবে সার্ভার রিলোড করার জন্য।
ব্রাউজারে অ্যাপ অ্যাক্সেস করা
কমান্ড লাইন আউটপুটে একটি বার্তা দেখতে পাবেন:
Uvicorn running on http://127.0.0.1:8000
ব্রাউজারে গিয়ে http://127.0.0.1:8000 এ গেলে অ্যাপটি কাজ করছে কিনা তা যাচাই করতে পারবেন।
Uvicorn সার্ভারের অতিরিক্ত কনফিগারেশন
১. পোর্ট পরিবর্তন করা
ডিফল্ট পোর্ট পরিবর্তন করতে --port ফ্ল্যাগ ব্যবহার করুন:
uvicorn app:app --reload --port 9000
২. হোস্ট পরিবর্তন করা
ডিফল্টভাবে Uvicorn localhost এ চলে। অন্য ডিভাইস থেকে অ্যাপ অ্যাক্সেস করতে 0.0.0.0 হোস্ট ব্যবহার করুন:
uvicorn app:app --host 0.0.0.0 --reload
৩. প্রোডাকশন মোড
--reload ডেভেলপমেন্টের জন্য। প্রোডাকশনে ব্যবহার করতে এটি বাদ দিন এবং অতিরিক্ত অপশন প্রয়োগ করুন:
uvicorn app:app --host 0.0.0.0 --port 80
Docker-এ Uvicorn ব্যবহার (ঐচ্ছিক)
Uvicorn Docker কন্টেইনারে চালাতে পারেন। Dockerfile উদাহরণ:
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "80"]
এরপর Docker কন্টেইনার তৈরি করে চালান।
Uvicorn সেটআপ করা খুবই সহজ, এবং এটি FastAPI অ্যাপ চালানোর জন্য আদর্শ। ডেভেলপমেন্ট এবং প্রোডাকশন উভয়ের জন্য Uvicorn নির্ভরযোগ্য এবং উচ্চ কার্যক্ষম।
FastAPI দিয়ে একটি প্রজেক্ট তৈরি করা সহজ এবং কাঠামোগতভাবে সঠিকভাবে প্রজেক্ট সাজালে বড় প্রজেক্ট পরিচালনা করা আরও কার্যকর হয়। এখানে একটি FastAPI প্রজেক্ট তৈরির প্রক্রিয়া ধাপে ধাপে ব্যাখ্যা করা হয়েছে।
ধাপ ১: ভার্চুয়াল এনভায়রনমেন্ট সেটআপ
ভার্চুয়াল এনভায়রনমেন্ট তৈরি করুন
প্রজেক্টের ডিপেনডেন্সি আলাদা রাখতে একটি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করুন:
python -m venv env
ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় করুন
Windows:
.\env\Scripts\activatemacOS/Linux:
source env/bin/activate
ধাপ ২: FastAPI এবং Uvicorn ইনস্টল করা
FastAPI এবং Uvicorn ইনস্টল করতে নিচের কমান্ডটি চালান:
pip install fastapi uvicorn
ধাপ ৩: প্রজেক্ট ফোল্ডার স্ট্রাকচার তৈরি করা
প্রস্তাবিত স্ট্রাকচার
my_fastapi_project/
├── app/
│ ├── main.py
│ ├── routes/
│ │ ├── __init__.py
│ │ ├── example_routes.py
│ ├── models/
│ │ ├── __init__.py
│ │ ├── example_models.py
│ ├── schemas/
│ │ ├── __init__.py
│ │ ├── example_schemas.py
│ ├── database.py
│ ├── __init__.py
├── requirements.txt
ধাপ ৪: বেসিক ফাইল এবং কোড তৈরি করা
main.py
এটি মূল ফাইল যেখানে অ্যাপটি ডিফাইন করা হবে:
from fastapi import FastAPI
from app.routes import example_routes
app = FastAPI()
# Routes
app.include_router(example_routes.router)
@app.get("/")
def read_root():
return {"message": "Welcome to FastAPI Project!"}
routes/example_routes.py
এটি রাউটগুলোকে সাজানোর জন্য ব্যবহার করা হয়:
from fastapi import APIRouter
router = APIRouter()
@router.get("/example")
def get_example():
return {"message": "This is an example route"}
models/example_models.py
এটি ডাটাবেসের মডেল ডিফাইন করতে ব্যবহার করা হবে। উদাহরণস্বরূপ:
# Example of a database model (if using SQLAlchemy)
from sqlalchemy import Column, Integer, String
from app.database import Base
class ExampleModel(Base):
__tablename__ = "examples"
id = Column(Integer, primary_key=True, index=True)
name = Column(String, index=True)
schemas/example_schemas.py
এটি ডাটা ভ্যালিডেশন এবং পায়ডান্টিক (Pydantic) স্কিমার জন্য ব্যবহৃত হয়:
from pydantic import BaseModel
class ExampleSchema(BaseModel):
name: str
description: str
class Config:
orm_mode = True
database.py
এটি ডাটাবেস সংযোগ পরিচালনা করার জন্য:
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
SQLALCHEMY_DATABASE_URL = "sqlite:///./test.db"
engine = create_engine(SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False})
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
Base = declarative_base()
ধাপ ৫: ডিপেনডেন্সি লিস্ট সংরক্ষণ করা
আপনার প্রজেক্টে ব্যবহৃত সব প্যাকেজ সংরক্ষণ করতে:
pip freeze > requirements.txt
ধাপ ৬: অ্যাপ চালানো
Uvicorn ব্যবহার করে অ্যাপ চালানোর জন্য:
uvicorn app.main:app --reload
app.main:app:appফোল্ডারে থাকাmain.pyফাইলেরappঅবজেক্ট।--reload:
ডেভেলপমেন্টে অটোমেটিক রিফ্রেশ।
ধাপ ৭: ব্রাউজারে অ্যাপ অ্যাক্সেস করা
অ্যাপ চালু হলে ব্রাউজারে গিয়ে:
- Root Endpoint:
http://127.0.0.1:8000 - Swagger UI (স্বয়ংক্রিয় ডকুমেন্টেশন):
http://127.0.0.1:8000/docs - ReDoc:
http://127.0.0.1:8000/redoc
সার্বিক গাইডলাইন
- প্রজেক্টের ফোল্ডার স্ট্রাকচার মডুলার করুন যাতে বড় প্রজেক্ট পরিচালনা সহজ হয়।
- Pydantic ব্যবহার করে ইনপুট এবং আউটপুট যাচাই নিশ্চিত করুন।
- ডাটাবেস সংযোগ এবং লজিক আলাদা ফাইল বা মডিউলে রাখুন।
- ভার্চুয়াল এনভায়রনমেন্ট ব্যবহারের মাধ্যমে ডিপেনডেন্সি আলাদা রাখুন।
FastAPI দিয়ে তৈরি প্রজেক্টে এই কাঠামো আপনাকে দ্রুত এবং কার্যকর ডেভেলপমেন্টে সহায়তা করবে।
FastAPI দিয়ে একটি API এন্ডপয়েন্ট তৈরি করা খুবই সহজ। এখানে প্রথম API এন্ডপয়েন্ট তৈরি করার ধাপগুলো ব্যাখ্যা করা হয়েছে।
ধাপ ১: ফোল্ডার এবং ফাইল তৈরি করা
প্রথমে আপনার প্রজেক্টের জন্য একটি ফোল্ডার তৈরি করুন এবং এর মধ্যে একটি Python ফাইল তৈরি করুন। উদাহরণস্বরূপ:
my_first_fastapi/
└── main.py
ধাপ ২: FastAPI ইনস্টল করা
FastAPI এবং Uvicorn ইনস্টল করতে pip ব্যবহার করুন:
pip install fastapi uvicorn
ধাপ ৩: প্রথম API এন্ডপয়েন্ট তৈরি করা
main.py ফাইলে নিচের কোড লিখুন:
from fastapi import FastAPI
# অ্যাপ অবজেক্ট তৈরি
app = FastAPI()
# রুট এন্ডপয়েন্ট
@app.get("/")
def read_root():
return {"message": "Hello, FastAPI!"}
# ডাইনামিক এন্ডপয়েন্ট
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "query": q}
কোড ব্যাখ্যা:
FastAPI():
FastAPI অ্যাপ তৈরি করার জন্য একটি অবজেক্ট।- ডেকোরেটর (@app.get):
এন্ডপয়েন্ট এবং HTTP মেথড (GET) সংজ্ঞায়িত করতে ব্যবহৃত হয়। /এন্ডপয়েন্ট:
এটি রুট এন্ডপয়েন্ট, যা ব্রাউজারে http://127.0.0.1:8000 তে দেখাবে{"message": "Hello, FastAPI!"}।- ডাইনামিক এন্ডপয়েন্ট
/items/{item_id}:
একটি ডাইনামিক এন্ডপয়েন্ট যেখানেitem_idপ্যারামিটার পাঠানো যায়।
ধাপ ৪: অ্যাপ চালানো
Uvicorn ব্যবহার করে অ্যাপ চালানোর জন্য:
uvicorn main:app --reload
আর্গুমেন্ট ব্যাখ্যা:
main:app:main.pyফাইলে থাকাappঅবজেক্ট।--reload:
কোডে কোনো পরিবর্তন হলে স্বয়ংক্রিয়ভাবে সার্ভার রিলোড করবে।
ধাপ ৫: ব্রাউজারে API পরীক্ষা করা
রুট এন্ডপয়েন্ট:
ব্রাউজারে গিয়ে http://127.0.0.1:8000/ তে দেখবেন:
{
"message": "Hello, FastAPI!"
}
ডাইনামিক এন্ডপয়েন্ট:
http://127.0.0.1:8000/items/5?q=test তে দেখবেন:
{
"item_id": 5,
"query": "test"
}
ধাপ ৬: স্বয়ংক্রিয় ডকুমেন্টেশন পরীক্ষা করা
FastAPI স্বয়ংক্রিয়ভাবে API ডকুমেন্টেশন তৈরি করে। এটি দেখতে:
- Swagger UI:
http://127.0.0.1:8000/docs
এখানে ইন্টারেক্টিভভাবে API টেস্ট করতে পারবেন। - ReDoc:
http://127.0.0.1:8000/redoc
এখানে API এর বিস্তারিত তথ্য দেখবেন।
এই পদ্ধতিতে কী শিখলেন:
- FastAPI দিয়ে কিভাবে একটি অ্যাপ তৈরি করবেন।
- কিভাবে রুট এবং ডাইনামিক এন্ডপয়েন্ট তৈরি করবেন।
- Uvicorn ব্যবহার করে API চালাবেন এবং ব্রাউজারে পরীক্ষা করবেন।
- স্বয়ংক্রিয় ডকুমেন্টেশনের মাধ্যমে API এর বৈশিষ্ট্য দেখতে পারবেন।
FastAPI দিয়ে প্রথম API এন্ডপয়েন্ট তৈরি করা এত সহজ! এখন আপনি বড় এবং জটিল API প্রজেক্ট তৈরি করতে প্রস্তুত।
FastAPI স্বয়ংক্রিয়ভাবে API ডকুমেন্টেশন তৈরি করে, যা ডেভেলপমেন্ট ও টেস্টিংকে অনেক সহজ করে তোলে। FastAPI এর ডকুমেন্টেশন দুটি ফরম্যাটে সরবরাহ করে:
- Swagger UI
- ReDoc
Swagger UI
Swagger UI হলো FastAPI দ্বারা স্বয়ংক্রিয়ভাবে তৈরি করা একটি ইন্টারেক্টিভ ডকুমেন্টেশন টুল। এটি OpenAPI স্পেসিফিকেশনের ভিত্তিতে API এর সব এন্ডপয়েন্ট এবং তাদের ফিচার প্রদর্শন করে।
বৈশিষ্ট্য:
- ইন্টারেক্টিভ টেস্টিং:
ডকুমেন্টেশনের মধ্যেই API রিকোয়েস্ট পাঠানো এবং রেসপন্স দেখা যায়। - সহজ নেভিগেশন:
প্রতিটি এন্ডপয়েন্টের বিস্তারিত প্রদর্শন করে, যেমন ইনপুট প্যারামিটার, আউটপুট, এবং স্ট্যাটাস কোড। - ব্যবহারকারীবান্ধব:
নতুন এবং অভিজ্ঞ ডেভেলপার উভয়ের জন্যই সহজে ব্যবহারযোগ্য।
Swagger UI অ্যাক্সেস:
FastAPI অ্যাপ চালু করার পর Swagger UI ডকুমেন্টেশন দেখতে ব্রাউজারে যান:
http://127.0.0.1:8000/docs
ReDoc
ReDoc একটি আরও বিস্তারিত ডকুমেন্টেশন টুল, যা API এর গঠন ও ফিচারগুলো আরও পরিষ্কারভাবে উপস্থাপন করে। এটি ডেভেলপমেন্ট দল এবং API ব্যবহারকারীদের জন্য বিশেষভাবে কার্যকর।
বৈশিষ্ট্য:
- বিস্তৃত ডকুমেন্টেশন:
প্রতিটি এন্ডপয়েন্টের বিস্তারিত তথ্য, যেমন ইনপুট ফিল্ড, ডাটা টাইপ, এবং সিকিউরিটি প্রটোকল। - উন্নত প্রেজেন্টেশন:
প্রতিটি ফিচার সুন্দরভাবে গঠিত। - মোবাইল-বান্ধব:
মোবাইল ডিভাইসেও সহজে দেখা যায়।
ReDoc অ্যাক্সেস:
FastAPI অ্যাপ চালু করার পর ReDoc ডকুমেন্টেশন দেখতে ব্রাউজারে যান:
http://127.0.0.1:8000/redoc
ডকুমেন্টেশন উদাহরণ
উদাহরণস্বরূপ, যদি আপনার অ্যাপ এই রকম কোড দিয়ে তৈরি হয়:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello, FastAPI!"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "query": q}
Swagger UI এন্ডপয়েন্ট:
http://127.0.0.1:8000/docs
এটি দেখাবে:
/রুট এন্ডপয়েন্ট/items/{item_id}ডাইনামিক এন্ডপয়েন্ট
ReDoc এন্ডপয়েন্ট:
http://127.0.0.1:8000/redoc
এটি একই তথ্য আরও বিস্তারিত এবং গঠিত আকারে প্রদর্শন করবে।
কাস্টমাইজেশন
FastAPI এর ডকুমেন্টেশন কাস্টমাইজ করতে পারবেন:
ডকুমেন্টেশনের শিরোনাম:
অ্যাপ অবজেক্ট তৈরি করার সময়titleপ্যারামিটার ব্যবহার করুন:app = FastAPI(title="My FastAPI Application")ডকুমেন্টেশনের বিবরণ:
descriptionপ্যারামিটার যোগ করুন:app = FastAPI(description="This is a sample FastAPI application")ডকুমেন্টেশন অফ করা:
Swagger UI বা ReDoc বন্ধ করতে:app = FastAPI(docs_url=None, redoc_url=None)
Swagger UI এবং ReDoc এর তুলনা
| বৈশিষ্ট্য | Swagger UI | ReDoc |
|---|---|---|
| ব্যবহারকারীবান্ধবতা | সহজ এবং ইন্টারেক্টিভ | বিস্তারিত এবং গঠিত |
| ইন্টারেক্টিভ টেস্টিং | হ্যাঁ | না |
| উন্নত প্রেজেন্টেশন | সাধারণ | উন্নত |
| মোবাইল সাপোর্ট | সীমিত | সম্পূর্ণ মোবাইল-বান্ধব |
FastAPI এর স্বয়ংক্রিয় ডকুমেন্টেশন ডেভেলপারদের জন্য একটি বড় সুবিধা। Swagger UI সহজে API পরীক্ষা করতে দেয়, আর ReDoc বিস্তারিত এবং প্রেজেন্টেশন-বান্ধব ডকুমেন্টেশন সরবরাহ করে। উভয় ডকুমেন্টেশন টুল FastAPI এর শক্তিশালী এবং ব্যবহারবান্ধব বৈশিষ্ট্যকে আরও উন্নত করে।
Read more